package br.com.inner.dao;

import java.math.BigDecimal;
import java.util.List;

import br.com.inner.custom.CustomException;
import br.com.inner.modelo.Job;
import br.com.inner.modelo.JobEmpresa;
import br.com.inner.modelo.Usuario;

public interface UsuarioDao {
    public List<Usuario> getAllUsuarios() throws CustomException;
    public List<Usuario> getAllOperadores() throws CustomException;
    public List<Usuario> getAllAdministradores() throws CustomException;
    public Usuario getAll() throws CustomException;
    public Usuario getUsuario(BigDecimal cdUsuario) throws CustomException;
	public void update(Usuario usuario);
	public void insert(Usuario usuario) throws CustomException;
	public void delete(BigDecimal cdUsuario);
	public Usuario verificaSenhaUsuario(String mmUsuario, String passUsuario);
	public Usuario verificaSenhaUsuario(BigDecimal cdUsuario, String passUsuario);
	public void ativarUsuario(BigDecimal cdUsuario) throws CustomException;
	public List<Usuario> esqueciSenha(String cgc, String emailUsuario) throws CustomException;
	public List<Usuario> pesquisaUsuario(String nmUsuario) throws CustomException;
	public void mudarStatusOperador(BigDecimal cdUsuario);
	public List<Job> listarEnviados(BigDecimal cdUsuario) throws CustomException;
	public List<Usuario> getAllOperadoresUsuario(BigDecimal cdUsuario) throws CustomException;
	public List<JobEmpresa> listarRecebidos(BigDecimal cdUsuario) throws CustomException;
}
